//on utilise la glib en fait
#include <gtk/gtk.h>
//pour printf
#include <stdio.h>

//variable globale, est mise à TRUE/FALSE au moment ou le bouton play est enfoncé
gboolean is_simulating=FALSE;

gboolean fonction_a_appeler_regulierement(gpointer data)
{
	printf("je suis la fonction\n"); //si tu ne vois pas de texte quand le prog est lancé, utilise g_print("le texte") ou g_printf("le texte") (remarque g_print marche exactement comme printf, avec un char* format, et une suite de parametres a mettre dans le texte)
	return TRUE; // Si on retourne TRUE, la fonction sera appelée encore une fois plus tard( dans n millisecondes ou n est le délai qu'on avait passé à g_timeout_add)
	//si on retourne FALSE, la fonction ne sera plus rappelee (il faudra faire un autre g_timeout_add pour la rappeler).
}


int GUI_get_UT_speed()
{
	//récupérer la vitesse de simulation qui est précisée dans l'interface
	//la retourner (sous forme d'entier si ca ne l'est pas)
	return 2; //valeur bidon
}

gboolean play_simulator(gpointer rien_ou_pas_rien)
{
	simulateur_faire_pas(GUI_get_UT_speed());
	printf("le simulateur a mis a jour l'état des avions\n");
	if(is_simulating)
	{
		//s'il fallait simuler
		//on demande qu'on soit encore appelée
		return TRUE;
	}
	else
	{
		//on demande à ne plus être appelée pour l'instant
		return FALSE;
	}
}

int main(int argc, char** argv)
{
	gtk_init(&argc,&argv);

	//une fonction simple
	//1000 millisecondes => toutes les 1 seconde
	g_timeout_add(1000,fonction_a_appeler_regulierement,"du texte a afficher");

	//Un truc plus appliqué à ce qu'on veut
	//Ci-dessous : ce qu'on devrait faire/appeler quand le bouton play devient enfoncé
	is_simulating = TRUE
	g_timeout_add(100,play_simulator,NULL);

	//Ci-dessous : ce qu'on devrait faire/appeler quand le bouton play est désenfoncé
	/*
	is_simulating = FALSE;
	//pas d'histoire de g_timeout_ ici
	*/
	gtk_main();
	return 0;
}